/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.biz.modular.watchtask.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 任务表实体
 *
 * @author H
 * @date  2025/11/19 14:24
 **/
@Getter
@Setter
@TableName("tb_task")
public class Task {

    /** ID */
    @TableId
    @ApiModelProperty(value = "ID", position = 1)
    private String taskId;

    /** 上报人小程序ID */
    @ApiModelProperty(value = "上报人小程序ID", position = 2)
    private String reportAppletUserId;

    /** 版本号 */
    @ApiModelProperty(value = "版本号", position = 3)
    @TableField(fill = FieldFill.INSERT)
    private Integer version;

    /** 创建时间 */
    @ApiModelProperty(value = "创建时间", position = 4)
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 上报时间 */
    @ApiModelProperty(value = "上报时间", position = 5)
    private Date reportTime;

    /** (任务结束)结束时间 */
    @ApiModelProperty(value = "(任务结束)结束时间", position = 6)
    private Date endTime;

    /** 审批状态0=待分配 1=分管领导审核2=审核完成 */
    @ApiModelProperty(value = "审批状态0=待分配 1=分管领导审核2=审核完成", position = 7)
    private Integer approval;

    /** 当前位置 */
    @ApiModelProperty(value = "当前位置", position = 8)
    private String address;

    /** 省 */
    @ApiModelProperty(value = "省", position = 9)
    private String province;

    /** 市 */
    @ApiModelProperty(value = "市", position = 10)
    private String city;

    /** 区 */
    @ApiModelProperty(value = "区", position = 11)
    private String district;

    /** 经度 */
    @ApiModelProperty(value = "经度", position = 12)
    private Double longitude;

    /** 纬度 */
    @ApiModelProperty(value = "纬度", position = 13)
    private Double latitude;

    /** 上报id */
    @ApiModelProperty(value = "上报id", position = 14)
    private String reportId;

    /** 执行状态 0=已发布 1=待执行2=已执行3=已完成，发放奖励4=已失败，重新发布 */
    @ApiModelProperty(value = "执行状态 0=已发布 1=待执行2=已执行3=已完成，发放奖励4=已失败，重新发布", position = 15)
    private Integer currentStatus;

    /** 盯防奖励 */
    @ApiModelProperty(value = "盯防奖励", position = 16)
    private Double rewards;

    /** 隐患等级(0=一般问题1=一般隐患2=较大隐患3=重大隐患) */
    @ApiModelProperty(value = "隐患等级(0=一般问题1=一般隐患2=较大隐患3=重大隐患)", position = 17)
    private Integer hiddenLevel;

    /** 领取人小程序ID */
    @ApiModelProperty(value = "领取人小程序ID", position = 18)
    private String receiverAppletUserId;

    /** 领取时间(开始时间) */
    @ApiModelProperty(value = "领取时间(开始时间)", position = 19)
    private Date receiverTime;

    /** 是否已经支付0:未支付1：已支付 */
    @ApiModelProperty(value = "是否已经支付0:未支付1：已支付", position = 20)
    private Integer payed;

    /** 任务名称 */
    @ApiModelProperty(value = "任务名称", position = 21)
    private String taskName;

    /** 任务要求 */
    @ApiModelProperty(value = "任务要求", position = 22)
    private String requirements;

    /** 分管领导小程序ID */
    @ApiModelProperty(value = "分管领导小程序ID", position = 23)
    private String chargeLeaderAppletId;

    /** 分管领导ID */
    @ApiModelProperty(value = "分管领导ID", position = 24)
    private String chargeLeaderId;

    /** 分管领导名称 */
    @ApiModelProperty(value = "分管领导名称", position = 25)
    private String chargeLeaderName;

    /** 备注填写执行成功或失败描述 */
    @ApiModelProperty(value = "备注填写执行成功或失败描述", position = 26)
    private String taskRemark;
}
